Network game terminal, game server, method for handling network games, and recording medium

ABSTRACT

For reducing the load on a server as much as possible during transfer of data from the server to a terminal, each terminal is capable of playing out a network game in cooperation with a local network game terminal. To this end, the local network game terminal and one or more other network game terminals are grouped in the local network game terminal. Additionally, group information is generated with which the game server  1  can recognize the grouped terminals as one user group, and representative terminal information is also generated with which other network game terminals in the same user group can recognize that the local network game terminal is the representative terminal. Bi-directional communications, including transfer of the data received from the game server  1  and the representative terminal information, are made with other network game terminal(s) in the user group.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application claims priority from Japanese Application Nos.2003-308503 filed Sep. 1, 2003 and 2004-238837 filed Aug. 18, 2004, thedisclosures of which are hereby incorporated by reference herein.

BACKGROUND OF THE INVENTION

The present invention relates to a plurality of terminals that executesa program over a network such as the Internet to perform collaborativeactivities, and a server for these terminals. For example, the presentinvention relates to groupware, terminals on which online games such asmassive multi-player online (MMO) games are played, a server for suchterminals, a technique for transmitting data between the server andthese terminals, and a technique for grouping the terminals.

Data transmission between a server and a plurality of terminalsassociated with the server over a network (e.g., the Internet) is usedfor joint operations and simultaneous processing among two or moreusers. This can be found in, for example, groupware designed fororganizing/managing schedules of two or more users, groupware designedfor BBS sharing, and online games that allow users to achieve a certainpurpose within the same virtual space.

Such data transmission requires simultaneous flows of a large amount ofdata from a server to a plurality of terminals. For example, groupwaremay transmit, to each terminal, shared data for a scheduling database ora BBS. An online game program may transmit, to terminals of individualusers, graphics data to provide a virtual space in the game, e.g., agrotto or a field, data associated with bodily powers and belongings ofusers (players).

Massive multi-player online games in particular require transmission ofdata-intensive animated images that are beautiful to look at in order togive variety to the game. Status and parameters which are associatedwith stamina and/or belongings of characters in the game controlled bythe users change every second. An ongoing game program is required toupdate the ever-changing gaming status and parameters as soon aspossible.

Furthermore, typical massive multi-player online games allow an in-gamecharacter to recruit other in-game characters as a member of the partyhe or she belongs to. This recruiting is done in, for example, a virtuallobby leading into the main feature of the game. After finding necessarymembers, the in-game character forms a party with these members toachieve a certain purpose in the main feature.

The server (game server) managing the progress of a game is, however,connected to a huge number of network game terminals. The server mayoften be required to send a large amount of data to these network gameterminals. The volume of data to be sent may possibly cause someproblems especially when it exceeds a certain limit. Such problemsinclude a delay of processing in, for example, status update or aprocess lag like when a game gets bogged down.

The problem of a processing delay can partly be solved by reducing theamount of data for animated images. This, however, often sacrifices thequality of graphic images. Another possible solution would be todecrease the number of users allowed to connect to the server at a givenperiod of time. A consequent lower quality of graphic images spoils funof games. Decreasing the number of users allowed to connect to a singleserver raises the need for increasing the number of servers. This isdisadvantageous by economic considerations.

Thus, for the proper data transmission between a server and a pluralityof terminals associated with the server over a network such as theInternet, it is desired to provide a transmission technique that canreduce the load on the server as much as possible by achieving efficienttransmission rather than by reducing the amount of information itself(e.g., reducing the quality of graphic images) to be transmitted to theterminals.

As to massive multi-player online games, in-game characters aretypically allowed to recruit or gather around other in-game charactersto form a party. This recruiting is done in a specified virtual spacesuch as a virtual lobby. The user can spend time in the virtual lobbybefore stepping into the main feature of the game. After drawingnecessary members into the game and grouping them to form a party, theuser moves to the main feature of the game. Thus, online games of thistype suffer problems that “no user can move to the main feature of thegame before making up the necessary number of the members for the partyand a gaming process is interrupted by this time-consuming process ofcollecting the members.”

The time taken for grouping of network game terminals (formation of aparty in the game) may be reduced if the game server automaticallychoose members to be joined in a party. In such a case, the game servermay confirm the existing members' intent to add a new member to theparty which they belong to. Automatic choice of a member afterconfirmation of other users' intent often increases the amount of dataprocessing on the server because the server is connected to a largenumber of network game terminals. In addition, before the formation of aparty, it is necessary to iron out the differences among users forconfirmation of each user's intent to add a member to the party or fordetermination of the number of persons of a party necessary for apredetermined purpose. In order to cope with all of the above-mentionedrequirements, it takes a lot of time for data processing andconfirmation of users' intent. This makes automatic choice of partymembers practically unfeasible. Moreover, with conventional techniques,once a user whose in-game character belongs to a party goes offline(i.e., his or her game terminal is disconnected from the game server),the user is not allowed to return his or her in-game character to thesame party. He or she should join in another party and consequently,grouping of the network game terminals should be done again from thebeginning. This causes frequent occurrence of complicated grouping ofthe network game terminals. The user cannot go back to the game whilekeeping his or her original party, and continuity of the game is notensured.

Therefore, it is desired to rapidly group network game terminals indeference to users' wishes, to reduce occurrence of grouping of thenetwork game terminals, and to allow a user to return to the game afterformation of a new party, ensuring continuity of the game.

SUMMARY OF THE INVENTION

In order to solve the above-mentioned problems, the present invention isto provide a network game terminal which is accessible to a game serverthrough a predetermined network, comprising: first communication controlmeans which is adapted to receive data from the game server over thepredetermined network; means for generating user group data which isadapted to group the local network game terminal and one or more othernetwork game terminal(s) as a user group in order to play out a networkgame in cooperation between the local network game terminal and othernetwork game terminal(s) using data received from the game serverthrough the first communication control means, means for generating usergroup data being also adapted to generate user group data, the usergroup data including group information with which the game server canrecognize the grouped network game terminals as one user group, andrepresentative terminal information with which other network gameterminal(s) in the user group can recognize the local network gameterminal as a representative terminal; and second communication controlmeans which is adapted to send the data received from the game serverand the user group data to other network game terminal(s) in the usergroup.

As described above, the data received from the game server through thefirst communication control means are used for cooperative play-out of anetwork game between the local network game terminal serving as therepresentative terminal and other network game terminal(s). The networkgame terminal(s) other than the local network game terminal receive(s)the data necessary for playing out the network game from therepresentative terminal rather than from the game server. The gameserver is required to send data necessary for cooperation between therepresentative terminal and the other network game terminal(s) only tothe representative terminal. It is unnecessary to repeatedly send thesedata from the game server to the individual network game terminals. Ascompared with conventional combinations of a game server and networkgame terminals, in which login operations are performed every time whena network game terminal has logged in a game server, the presentinvention requires only the representative terminal to log in the gameserver. This reduces the amount of data exchanged between the gameserver and the user terminals in a user group, decreasing the load onthe game server.

More preferably, the data necessary for cooperation between the localnetwork game terminal (representative terminal) and other network gameterminal(s) to play out an network game include data shared by thenetwork game terminals including the local network game terminal in auser group. The data shared for the network game may be, for example,graphics data, map data, and position data indicating the position of anobject such as a building in the game. In particular, when a group ofnetwork game terminals is visualized as a group of in-game characterscorresponding to these terminals, the in-game characters may often belocated at the same or very close positions. Therefore, graphics datanecessary for producing a game screen on each network game terminal areassociated with map data around the current position of the group ofin-game characters. Such data are almost equally required for allnetwork game terminal in the same user group.

Network game terminals according to a conventional technique shouldindividually and repeatedly receive data from a game server, even whenthe data are commonly required for all network game terminals. On thecontrary, the present invention achieves “bulk” reception of data from agame server. The data equally required for all network game terminalsare transmitted from the game server to the representative terminal. Therepresentative terminal then distributes these data to the remainingnetwork game terminals in the user group. The data shared by the networkgame terminals in the user group are not repeatedly delivered from thegame server to the network game terminals. The load on the game servercan be decreased especially when graphics data which are typically oflarge capacity are exchanged.

Preferably, the user group data include a status of a user group, theposition of a user group in the game, a representation of a user groupin the game (e.g., the name and size of a ship when the user group isvisualized as a ship), information about shared items for a user group.With this, each network game terminal can recognize the status of theuser group.

Preferably, the network game terminal is provided with second recordingmeans on which data received from the game server through the firstcommunication control means are recorded. This allows the network gameterminals other than the representative terminal in the user group toaccess the second recording means of the representative terminal toobtain data, when necessary.

Any one of suitable techniques may be used for the data transfer fromthe representative terminal to the remaining network game terminal(s).For example, the representative terminal may communicate with othernetwork game terminal(s) in the user group in a peer-to-peer manner.

Preferably, there is provided a configuration comprising means forsending the data that were received through the first communicationcontrol means and recorded on the second recording means, to a newrepresentative terminal when the local network game terminal is servingas the representative terminal, and either when the local network gameterminal attempts to log out the game server or when the local networkgame terminal attempts to withdraw from the user group, the newrepresentative terminal being selected from the network game terminalsthat are in communication with the local network game terminal in theuser group which the local network game terminal belongs to. One of thenetwork game terminals in the user group may receive data from the gameserver as the representative terminal and the network game terminal maycomprise first recording means on which user group data are recorded. Insuch a case, the local network game terminal may determine that it isworking as the representative terminal by, for example, accessing therepresentative terminal information recorded on the first recordingmeans to identify the representative terminal. Alternatively, it may bedetermined according to whether the local network game terminal isreceiving graphics data as the data that are commonly used in a networkgame from the game server.

Preferably, the present invention also provides that the firstcommunication control means is for allowing the local network gameterminal to communicate bi-directionally with the game server and thesecond communication control means is for allowing the local networkgame terminal to communicate bi-directionally with any one of othernetwork game terminals in the user group, the network game terminalfurther comprising: terminal data recording means which is adapted torecord, on the first recording means, terminal data of the local networkgame terminal as well as terminal data of the individual network gameterminal(s) that are received from other network game terminal(s) in theuser group, the terminal data being data indicating a status relating toa network game terminal; means for determining whether the user groupwhich the local network game terminal belongs to includes one or morenetwork game terminals in communication with the local network gameterminal; and means for sending the group information recorded on thefirst recording means and the terminal data for each network gameterminal, to the game server, if the determination means determines thatno network game terminal is in communication with the local network gameterminal when the local network game terminal is serving as therepresentative terminal, and either when the local network game terminalattempts to log out the game server or when the local network gameterminal attempts to withdraw from the user group. In this case, theuser group information recorded on the first recording means and theterminal data for each network game terminal are supplied to the gameserver.

Examples of the status associated with the network game terminal(s)include, the name and ID of a network game terminal, stamina of anin-game character corresponding to a network game terminal, coordinates,possessions, and connection status of the network game terminal (e.g.,whether a network game terminal is in the logged in state or not).

It is preferable to provide a configuration in which the network gameterminal comprises: terminal data recording means which is adapted torecord, on the first recording means, terminal data of the local networkgame terminal as well as terminal data of the individual network gameterminal(s) that are received from other network game terminal(s) in theuser group, the terminal data being data indicating a status relating toa network game terminal; means for when the local network game terminalis serving as the representative terminal, and when a predeterminedevent occurs that affects the status associated with the network gameterminal(s) in the progress of the network game reflecting the affect ofthe event to a status associated with a network game terminal in anoffline state and updating the terminal data, and for when the networkgame terminal in the offline state has logged in again sending theupdated terminal data to the logging-in network game terminal.

This configuration makes it possible to reflect any change with an eventor the progress of a game to all characters in a game even when anetwork game terminal corresponding to a character is in the logged outstate, providing more attractive and exciting game scenarios.

In addition, the present invention provides a game server to which theabove-mentioned network game terminal has access, the game servercomprising: means for recording the group information and the terminaldata on third recording means, the group information and the terminaldata being supplied from the network game terminal(s), the thirdrecording means being provided on the game server; and means for sendingthe group information and the terminal data that are recorded on thethird recording means to a new representative terminal when therepresentative terminal is abnormally disconnected from the network, thenew representative terminal being selected from available network gameterminals in the user group which the representative terminal hadbelonged to.

This configuration of the game server makes it possible to continue anetwork game by selecting a new representative terminal by using thegroup information recorded on the third recording means and the terminaldata, even after the former representative terminal is abnormallydisconnected. Preferably, the representative terminal supplies the groupinformation, the terminal data, and other data necessary for playing outthe game periodically or intermittently to the game server. The gameserver records the information and data on the third recording means(preferably by overwriting the former information and data). When therepresentative terminal is abnormally disconnected or when the groupinformation and/or the terminal data recorded on the representativeterminal are deleted for some reasons, the latest group informationand/or terminal data or proper group information and/or terminal datawithout no data failure, that are recorded on the game server, aretransmitted to a new representative terminal (or the representativeterminal on which the group information and/or the terminal data havedeleted). In this way, the game can be continued by minimizing anadverse effect due to abnormal disconnection of the representativeterminal or deletion of the data.

Furthermore, the present invention may be provided as a method to beperformed on a network game terminal which is accessible to a gameserver through a predetermined network, the network game terminal beingadapted to receive data from the game server, the method comprising, bya control unit provided in the network game terminal, the step ofgrouping a local network game terminal and one or more other networkgame terminal(s) as a user group in order to play out a network game incooperation between the local network game terminal and other networkgame terminal(s) using data received from the game server, andgenerating user group data, the user group data including groupinformation with which the game server can recognize the grouped networkgame terminals as one user group, and representative terminalinformation with which other network game terminal(s) in the user groupcan recognize the local network game terminal as a representativeterminal; the method also comprising, by the control unit, the step ofsending the data received from the game server and the user group datato other network game terminal(s) in the user group.

In addition, the present invention may be provided as a recording mediumon which a computer program is recorded, or as a computer programitself. For example, the present invention may be provided as acomputer-readable recording medium on which a program is recorded thatis used to allow a computer to function as: first communication controlmeans which is adapted to receive data from the game server over thepredetermined network; means for generating user group data which isadapted to group the local network game terminal and one or more othernetwork game terminal(s) as a user group in order to play out a networkgame in cooperation between the local network game terminal and othernetwork game terminal(s) using data received from the game serverthrough the first communication control means, means for generating usergroup data being also adapted to generate user group data, the usergroup data including group information with which the game server canrecognize the grouped network game terminals as one user group, andrepresentative terminal information with which other network gameterminal(s) in the user group can recognize the local network gameterminal as a representative terminal; and second communication controlmeans which is adapted to send the data received from the game serverand the user group data to other network game terminal(s) in the usergroup.

Furthermore, the present invention provides a game server accessiblefrom a plurality of network game terminals through a predeterminednetwork. The game server has a configuration in which each of thenetwork game terminals comprises: first communication control means forbi-directional communication with the game server over the predeterminednetwork; and means which is adapted to group the local network gameterminal and one or more other network game terminal(s) as a user groupin order to play out a network game in cooperation between the localnetwork game terminal and other network game terminal(s) using datareceived from the game server through the first communication controlmeans, the means being also adapted to generate group information withwhich the game server can recognize the grouped network game terminalsas one user group. In this configuration, the game server comprisesfirst recording means on which the group information supplied from thenetwork game terminal(s) are recorded; and means for identifying, inresponse to a request for logging-in from a network game terminal whichis in the user group and is in an offline state, the user group whichthe requesting network game terminal belongs to, based on the groupinformation and for reading the group information corresponding to theidentified user group from the first recording means to send them to therequesting network game terminal.

In this game server, any network game terminal in the user group haslogged out and attempts to re-log in the game server can return to theuser group which it had belonged to before. Therefore, it is unnecessaryto form a party again after a network game terminal has logged out.Re-formation of a party typically requires re-grouping of network gameterminals. On the contrary, the game server of the present inventiondoes not require to form a party after a network game terminal haslogged out. This means that the frequency of grouping can be decreased.

The status information associated with a user group is recorded on thegame server. The game server can provide a returned network gameterminal with information about a status of a user group in the game,such as the position of a user group in the game, a representation of auser group in the game (e.g., the name and size of a ship when the usergroup is visualized as a ship), information about shared items for auser group. If the game has been played out and a status has changedwhile a re-logging-in network game terminal is in the offline state, thenetwork game terminal after re-login is informed of the changed statusof the user group. Therefore, it is possible to provide a game systemwhich enables to play out a game by uses even when one or more networkgame terminals are in the offline state. A scenario of the game canbecome more attractive and exciting.

Furthermore, the present invention provides a game server wherein thenetwork game terminal(s) comprise(s) means for sending terminal data tothe game server, the terminal data indicating a status associated withthe network game terminal(s), the game server comprising: secondrecording means on which the terminal data supplied from the networkgame terminal(s) are recorded; when a predetermined event occurs thataffects the status associated with the network game terminal(s) in theprogress of the network game reflecting the affect of the event to astatus associated with a network game terminal in an offline stateupdating the terminal data recorded on the second recording means.

With this configuration, a status of a network game terminal, such asstamina and possessions of an in-game character corresponding to thenetwork game terminal changes even when the network game terminal is inthe offline state. The in-game character is affected by the progress ofthe game even when the corresponding network game terminal is in theoffline state. A scenario of the game can become more attractive andexciting, as compared with conventional network games in which no statuschanges for an in-game character while the corresponding network gameterminal is in the offline state.

As apparent from the above, the present invention makes datatransmission more efficient between a server and a plurality ofterminals associated with the server. The load on the server can bereduced consequently.

Grouping of the network game terminals (formation of a party in thegame) is done less frequently and user groups can be formed promptly.Thus, users can move to the main feature of the game relatively soonafter he or she starts the game.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic illustration of a game server and a plurality ofuser terminals in which each user terminal can access directly to anyone of other user terminals, peer-to-peer;

FIG. 2 shows a functional configuration of a game server;

FIG. 3 shows a hardware configuration of a game server;

FIG. 4 shows a functional configuration of a user terminal;

FIG. 5 is a flow chart showing a series of steps that is performed whenthe representative terminal is going to either log out or withdraw fromthe user group which it belongs to;

FIG. 6 is a flow chart of an operation which is performed when a userterminal has accessed a game server;

FIG. 7 is a flow chart of an operation for allowing a logged-out userterminal to return to an original user group by directly accessing arepresentative terminal; and

FIGS. 8A and 8B show a schematic configuration of communication betweenuser groups, respectively.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In this disclosure, a number of terms are used for which the followingdefinitions are provided. The following definitions are not intended tolimit the scope of the present invention, but rather are intended toclarify terms that are well understood by those skilled in the art, andto introduce terms helpful for describing the present invention.

An “online game” as used in the following embodiment refers to massivemulti-player online (MMO) games or other type of online role-playinggames that are designed so players can build communities inside. By“online game” or merely “game” it is meant that the game is massivelymulti-player, meaning that hundreds or thousands of people will beaccessed to the same gaming world simultaneously.

A “game server” as used herein refers to a computer that allows peopleto play online games. The game server is sometimes referred to hereinmerely as “server”, and both terms are used interchangeably.

A “user terminal” as used herein refers to a computer or any otherdevices on which a method according to the present invention can beimplemented. The user terminal has access to the game server through anetwork, such as the Internet. In general, hundreds or thousands of userterminals are accessed to a single game server. Examples of the userterminal include, but not limited to, a personal computer (PC), acellular phone, and a dedicated gaming machine or console. In addition,the user terminal may be part of a computer system.

A “user” as used herein refers to a person (player) who uses a userterminal and plays online games on his or her user terminal. The terms“user” and “player” are used interchangeably.

A “character” as used herein refers to a fictional identity in a gamethat represents a player of the game. Each player chooses a characterbefore he or she joins in the game. The character takes the place of theactual player in the game.

A “party” as used herein refers to a team of characters who grouptogether. A party is formed in order to achieve a common purpose in thegame.

A “user group” as used herein refers to a conceptual group of userterminals. When a party is formed by characters, user terminalscorresponding to these characters are considered as one user group. Inthe disclosure herein, the number of user terminals in one user group isnot specifically limited. A single user terminal that does not belong toany group of user terminals is also considered as a “user group”.

A “representative terminal” herein means a user terminal that representsa user group. The representative terminal “bridges” a game server andthe remaining user terminals in the same user group as therepresentative terminal from the viewpoint of data exchange. Any userterminal in a user group would be a potential representative terminaldepending upon conditions of the game as described below. When one userterminal is the sole member of the user group, this user terminal servesas a representative terminal.

The term “in the online state” when used in reference to a userterminal, means that a user of a user terminal has logged in a game.Likewise, the term “in the offline state” when used in reference to auser terminal, means that a user of a user terminal has logged out agame.

FIG. 1 shows a gaming system as an example of a system in which a serveris connected to a plurality of user terminals through a network. For thepurpose of this disclosure, it assumes that user terminals (network gameterminals) UT1 to UT6 constitute a user group and that the user terminalUT1 serves as a representative terminal. It also assumes that eachplayer uses one user terminal and plays the game with one character.However, this specific configuration is not intended to limit the scopeof the present invention.

In FIG. 1, a game server 1 is connected to the user terminal UT1 througha network N such as the Internet, and the user terminal UT1 is connectedto other user terminals UT2 to UT6 in a peer-to-peer fashion. It shouldbe noted that FIG. 1 shows a logical connection between the game server1 and the individual user terminals UT1 to UT6. The game server 1 andthe user terminals UT1 to UT6 are each physically connected to thenetwork N. The user terminals UT1 to UT6 are logically connected to eachother in a peer-to-peer fashion. More specifically, each user terminalis provided with addresses of other user terminals in the same usergroup, so that each user terminal can access directly to any one ofother user terminals, peer-to-peer. This example shows a case where auser group has six user terminals UT1 to UT6. However, there is nolimitation on the number of user terminals included in a user group.Depending on a choice of each player or scenario of a game, the usergroup may include at least one user terminal. If the user group includestwo or more user terminals, these user terminals can access directly toeach other in a peer-to-peer fashion.

As described above, the user terminal UT1 serves as a representativeterminal to exchange information with the game server 1. The game server1 supplies, to the representative terminal, the data necessary to playout a game on the user terminals UT1 to UT6 (hereinafter, referred to as“distributed game data”). The distributed game data may be, for example,data relating to the position of a user group, backgrounds, and theweather in the game, as well as graphic data associated with them. Theuser terminal (representative terminal) UT1 receives the distributedgame data and plays out the game on the local terminal. The userterminal UT1 sends at least a part of the distributed game data to otheruser terminals UT2 to UT6 within the same user group. Thus, thedistributed game data that are supplied to the user terminal(representative terminal) UT1 are those from the game server 1, whilethe user terminals (members of the same user group as the user terminalUT1) UT2 to UT6 receive at least a part of the distributed game datafrom the representative terminal UT1.

The distributed game data are, as described above, supplied from thegame server 1 to the representative terminal. Examples of thedistributed game data include, but not limited to, graphic data foranimated and still images of a game to be displayed on the userterminals UT1 to UT6, data relating to the weather in the game, map dataindicating the position of an island, and data relating to a marinechart in the game. According to the present invention, an online gamegets underway by the cooperation of the representative terminal andother user terminals within the same user group using the data (thedistributed game data in this embodiment) that the representativeterminal has received from the game server. In such a case, at least apart of the distributed game data is equally required for all userterminals in the same user group. For example, characters exploring thegame world in a party may be in the same situation or see similarsights. Thus, all user terminals in one user group equally need somecommon graphics and information. This embodiment assumes that characterscorresponding to the user terminals UT1 to UT6 sail the seas on the sameship. All user terminals UT1 to UT6 need the graphics relating to theship and map data around the ship. Alternatively, when two-dimensionalimages taken from the perspective of each character are displayed on adisplay screen which is connected to the corresponding user terminal onthe basis of three-dimensional graphic data obtained from the gameserver, the display screens have different images from each other.However, in such a case, the three-graphic data for the ship and aroundthe ship, which are necessary for the production of thesetwo-dimensional images on the display screens from the perspective ofeach character, are shared for these user terminals involved.

As apparent from the above, in this embodiment, distributed game data atleast part of which is equally required for all involved user terminals,such as graphic data, are sent from the game server to therepresentative terminal in the user group, and each user terminal issupplied with at least a part of the distributed game data from therepresentative terminal. The game server is required to send a smalleramount of data to the user group as compared with the case based on theconventional technique where the game server should send the distributedgame data to all user terminals in the user group. Consequently, theload on the server can effectively be reduced.

The representative terminal UT1 also has a function to send user groupdata to the game server 1. The user group data indicate informationabout the associated user group. The user group data comprise terminaldata relating to the individual user terminals and group-shared datashared by the user terminals in the associated user group.

More specifically, the terminal data represent, for example, connectionstatus (online or offline) of the user terminals and basic informationassociated with a game. Such basic information includes, but not limitedto, information about a character (corresponding to the user terminal)in the game, information about the position (coordinates), stamina andpossessions of the character, and information about a game status.

Examples of the terminal data used in this embodiment are given in thetable below. maximum current status coordinates stamina staminapossessions online 1122, 0943 992 619 club, cloth garments, portions

On the other hand, the group-shared data are exchanged among the userterminals in the same user group. The group-shared data include groupinformation with which the game server 1 can recognize a user group. Inother words, the game server 1 can consider a group of user terminalsincluding the representative terminal as a user group, based on thecontent of the group information. The group-shared data include a usergroup ID (GID) and name of the user terminal or terminals (including therepresentative terminal) belonging to a single user group. In thisembodiment, the user group ID and terminal name(s) are used as the groupinformation to identify the grouped user terminals and the user groupwith the ID. The game server 1 can utilize this group information toacknowledge the grouped user terminals as a single user group.

The group-shared data include, as representative terminal information,the name of the user terminal that currently works as the representativeterminal. All user terminals other than the representative terminal canrecognize the representative terminal according to the name of therepresentative user terminal. In other words, the representativeterminal adds the local terminal name to the group-shared data to allowother user terminals in the same user group to recognize the localterminal as the representative terminal.

As information representing a status of the user group, the group-shareddata in this embodiment include, for example, the name and position ofthe user group in the game, items, user link information (e.g., IPinformation such as an IP address) in the user group. The user group inthe game in this embodiment is represented as a ship and the name of theuser group in the game is a ship name corresponding to the subject usergroup.

In addition, the group-shared data also include the names of the userterminals (represented as terminals in the table) including therepresentative terminal in the user group, the name of therepresentative terminal, IP addresses of the individual user terminals,items on the ship, the scale of the ship, position information such ascoordinates of the ship in the game, a user terminal or terminals in theonline state, (On terminal), a user terminal or terminals in the offlinestate (Off terminal). As an example, some of the group-shared data aregiven in the table below for the case where a user group consists offour user terminals T1, T2, T3, and T4 in this embodiment. shiprepresentative shared ship On Off GID name terminals terminal item(s)scale coordinates terminals terminals 0012 aten T1, T2, T1 prism for 101123, 0942 T1, T2 T3, T4 T3, T4 persons

The distributed game data are supplied from the game server 1 and arenecessary to play out the game on the user terminals UT1 to UT6. Theuser group data, on the other hand, are necessary for management by thegame server 1 of a scenario of the game played out on the user terminalsUT1 to UT6.

In the system shown in FIG. 1, the distributed game data are suppliedfrom the game server 1 to the representative terminal through thenetwork N. The user terminals UT1 to UT6 can access directly to eachother in a peer-to-peer fashion. The distributed game data received asdescribed above are transmitted within the user group. In thisembodiment, the distributed game data are transmitted to therepresentative terminal and are recorded on a data recording unit (datarecording unit 32 in FIG. 4 described below) in the representativeterminal. Other user terminals obtain the distributed game data throughpeer-to-peer connections.

Thus, the game server 1 is not required to send data to each of the userterminals UT1 to UT6. Instead, the game server 1 sends data only to therepresentative terminal which is one of the user terminals UT1 to UT6.Likewise, the game server 1 is not required to receive data from each ofthe user terminals UT1 to UT6. Instead, the game server 1 receives usergroup data only from the representative terminal which is one of theuser terminals UT1 to UT6.

This configuration reduces the load on the server as compared with acase where data are exchanged between the game server and individualuser terminals.

In this embodiment, when a user begins a game for the first time, theuser either adds his or her user terminal to an existing user group ormakes his or her user terminal as a “user group having only one userterminal” before joining in the game. The size of the user group thusvaries from time to time by admission of a new user terminal or bywithdrawal of one or more existing user terminals.

When a new user group is created, the user terminal which serves as therepresentative terminal for this new user group generates user groupdata including terminal data and group-shared data. The representativeterminal records the user group data on the data recording unit therein.In addition, the representative terminal sends the user group data tothe game server 1 and receives the distributed game data from the gameserver 1. The user terminal which serves as the representative terminalplays out the game based on the distributed game data received from thegame server 1. On the other hand, one or more user terminals which arenot the representative terminal play out the game based on the usergroup data and the distributed game data obtained through therepresentative terminal.

The game server 1 and the user terminals UT1 to UT6 may be configured inthe following manner.

<Game Server>

The game server 1 exchanges data with the representative terminal whichis one of the user terminals UT1 to UT6. Specifically, the game server 1sends data that are necessary to play out a game on the user terminalsUT1 to UT6. The game server 1 may be implemented by a computer having acentral processing unit (CPU), a communication mechanism, a randomaccess memory (RAM), a read-only memory (ROM), and a storage device. TheCPU loads and executes a predetermined computer program and data togenerate a functional block and a data file which are used for achievingbelow-described processing operations to be carried out by the gameserver 1.

The computer program and data are either stored on a CPU-readablestorage device or distributed over the network N. The communicationmechanism is a well-known mechanism that is used to transmit and receiveinformation to and from the above-mentioned representative terminalthrough the network N. The RAM is for temporarily storing data producedduring various game operations. The RAM also temporarily storesinformation received from the representative terminal through thecommunication mechanism. The ROM has a basic computer program and datastored thereon which are necessary for the operation of the game server1. The storage device is a so-called hard disk device having a magneticrecording medium therein. An operating system, an application program,and a large volume of data are stored on this storage device.

FIG. 2 shows a functional configuration provided by the CPU. As shown inthe figure, the game server 1 comprises, besides a communication controlunit and a main control unit 111, a game data 12 and a data recordingunit 13. The main control unit 111 comprises a game management unit 112and a login/logout management unit 113. The communication control unit10 exchanges data with the representative terminal.

FIG. 3 shows a hardware configuration of the game server 1. The gameserver 1 comprises a CPU 21 which is a main processor, a RAM 22 whichserves as a main memory for the CPU 21, and a ROM 23 on which controlprograms and other programs are stored. The CPU 21, the RAM 22, and theROM 23 are connected to each other through a bus B. The bus B is alsoconnected to a storage device 24 such as a hard disk, a communicationdevice 25 for bi-directional communication with the game server 1through the network N and bi-directional communication with other userterminals in the same user group, a display device 26 and an inputdevice 27 through respective interface mechanisms (not shown). Thedisplay device 26 and the input device 27 are used by an administratorof the game server 1.

In FIG. 2, the game management unit 112 manages the progress of the gameon the user terminals associated with the game server 1. For example,the game management unit 112 creates an event such as a battle ordiscovery of an item, and performs a processing such as graphicproduction of an ordinary screen or an event screen. The login/logoutmanagement unit 113 monitors login/logout of the representative terminalto the game server 1. In response to a request for logging out therepresentative terminal, the login/logout management unit 113 performsan operation to allow the representative terminal to log out, operationfor transferring the representative right of the representative terminalto one of other terminals in the same user group, or an operationassociated with abnormal disconnection of the representative terminal.

The game data 12 include graphic data used for producing game screens.The game data 12 also include other data to be required for a scenarioof the game, such as data associated with event conditions and items tobe appeared in the game.

The data recording unit 13 records the user group data that the gameserver 1 has received through the representative terminal. As describedabove, the user group data are information relating to the user groupitself and information about the user terminals in the user group. Ingeneral, the user group data are updated by updating data from therepresentative terminal. However, they may be updated by the gamemanagement unit 112.

In this embodiment, the communication control unit 10 and the maincontrol unit 111 in FIG. 2 are implemented by the CPU 21 in FIG. 3 withsoftware on the RAM 22 and/or the storage device 24. The data recordingunit 13 in FIG. 2 is composed of a predetermined recording area in thestorage device 24. The game data 12 in FIG. 2 are stored in the ROM 23.The ROM 23 may be any one of suitable recording means such as CD-ROMsand DVD-ROMs. The game data 12 may be stored on the storage device 24 toeliminate the necessity of the ROM 23.

<User Terminal>

User terminals in this embodiment constitute a user group. Each userterminal can access directly to any one of other user terminals in thesame user group, peer-to-peer. A user terminal which serves as therepresentative terminal for its user group can access to the game server1 in addition to peer-to-peer communications with other user terminals.

Each of these user terminals may be implemented by a computer having aCPU, a communication mechanism, a RAM, a ROM, and a storage device, asin the case of the game server 1. The CPU in each user terminal loadsand executes a predetermined computer program and data to generate afunctional block and a data file which are used for achievingbelow-described processing operations to be carried out by the localuser terminal.

The computer program and data are either stored in a CPU-readablestorage device or distributed over the network N. The communicationmechanism is a well-known mechanism that is used to transmit and receiveinformation to and from the game server 1 and other user terminalsthrough the network N. The RAM is for temporarily storing data producedduring various game operations and actions. The RAM also temporarilystores information received from the game server 1 or other userterminals through the communication mechanism. The ROM has a basiccomputer program and data stored thereon which are necessary for theoperation of the local user terminal. The storage device is a so-calledhard disk having a magnetic recording medium therein. An operatingsystem, an application program, and a large volume of data are stored onthis storage device.

As an example of the user group, FIG. 4 shows a connection between agame server and a user group consisting of the user terminals UT1 toUT6.

In this example, the user terminal UT1 serves as the representativeterminal. However, FIG. 4 merely shows a functional configurationprovided by the CPU in each user terminal for convenience andsimplicity. The positioning of the user terminals, i.e., representativeor not, in the user group is a relative issue and is determineddynamically depending on various factors, such as the number of userterminals included in the user group, the number of the user terminalsin the online state, and some other factors. Although this examplerepresents a case where the user group has six terminals, there is nolimitation on the number of user terminals consisting of the user group.In addition, a user group having only one terminal is also considered asthe user group in this embodiment. Such a user group with one userterminal automatically designates the only user terminal as therepresentative terminal.

A hardware configuration shown in FIG. 3 is necessary in order toimplement the communication control unit 30 and other components in theuser terminal shown in FIG. 4, as in the case of the game server shownin FIG. 2. More specifically, the communication control unit 30, a maincontrol unit 311, a game play-out unit 312, a representative rightmanagement unit 313, and a connection control unit 314 shown in FIG. 4are implemented by software-based means on the RAM 22 and/or the storagedevice 24 when the CPU 21 in FIG. 3 loads a program for the userterminal from the ROM 23 and execute this program. The data recordingunit 32 is composed of a predetermined recording area in the storagedevice 24.

As shown in the figure, each user terminal comprises the communicationcontrol unit 30, the main control unit 311 and the data recording unit32. The communication control unit 30 controls bi-directionalcommunication between the game server 1 and the user terminals on thenetwork N. The communication control unit 30 also controlsbi-directional peer-to-peer communication among the user terminals.

The main control unit 311 comprises the game play-out unit 312, therepresentative right management unit 313 and the connection control unit314. In this embodiment, the game play-out unit 312, the representativeright management unit 313 and the connection control unit 314 areestablished by software. However, they may be implemented by hardwaremeans.

The game play-out unit 312 controls the progress of the game on thelocal user terminal. The game play-out unit 312 plays out the game onthe local user terminal according to the scenario using the distributedgame data supplied from the game server 1. In addition, the gameplay-out unit 312 produces game screens to the user on a displayprovided in the local user terminal.

The main control unit 311 exchanges necessary data with other userterminal or terminals forming the same user group, in a peer-to-peerfashion through the communication control unit 30. For example, when astamina value or a possession changes with a certain action by thecharacter in the game that the user of one user terminal manipulates,this user terminal sends the information which indicates this change toother user terminals, peer-to-peer. Likewise, it receives appropriateinformation from other user terminals in the same user group.

When the user terminal UT1 serves as the representative terminal, themain control unit 311 receives the distributed game data from the gameserver 1, and sends these data to other user terminals UT2 to UT6 in apeer-to-peer fashion. The main control unit 311 according to thisembodiment records the received distributed game data on the datarecording unit 32 and then transmits in a peer-to-peer fashion thedistributed game data in response to a request from other user terminalsUT2 to UT6. The representative terminal records the user group data onthe data recording unit 32.

The representative right management unit 313 manages the representativeright given for one user terminal in the user group. For example, therepresentative right management unit 313 plays a mediation role amongthe user terminals as to which user terminal fills the representativeterminal. The representative right management unit 313 also has afunction to transfer the representative right when the local userterminal is working as the representative terminal and it is going tolog out to exit the game.

The connection control unit 314 communicates with other user terminal orterminals in the same user group in a peer-to-peer manner through thecommunication control unit 30 when the local user terminal is not therepresentative terminal. It communicates with the game server 1 throughthe communication control unit 30 in addition to the peer-to-peercommunication just mentioned, when the local user terminal is therepresentative terminal.

Each user terminal can determine whether the local user terminal is therepresentative terminal or not according to the above-mentioned groupinformation. Various operations which are performed none of theabove-mentioned game play-out unit 312, representative right managementunit 313, and connection control unit 314 are carried out by the maincontrol unit 311 when necessary. Examples of such operations include,but not limited to, an operation to determine whether the local userterminal is the representative terminal and an operation to write theuser group data into the data recording unit 32.

As described above, the main control unit 311 in the user terminal UT1which serves as the representative terminal generates the user groupdata including the terminal data and the group-shared data when the usergroup is created first. These generated data are recorded on the datarecording unit 32, and then the distributed game data are received fromthe game server 1. In addition, in the representative user terminal UT1,the game play-out unit 312 plays out the game based on the distributedgame data received from the game server 1, the program read out of theROM 23, and the user group data recorded on the data recording unit 32.In the user terminals UT2 to UT6 other than the representative terminal,the game is conducted based on the distributed game data obtainedthrough the representative terminal, as well as the programs read out ofthe RAM 22, the ROM 23, and the storage device 24 in the subject userterminal.

Next, description is made about an operation/management of an onlinegame system to which the data transfer technique of the presentinvention is applied.

<User Group>

The user group in this embodiment is essentially formed of a pluralityof user terminals. Each character takes the place of the actual playerin the game on his or her own user terminal. In this game, the usergroup is represented as one group of characters played by the usersassociated with one user group. In general, such a single group ofcharacters is called a “party”.

Each user plays his or her character in the game. Each character (of oneuser) cooperates with other character or characters (of other user(s))in the same party in order to achieve a certain purpose in the game. Auser group is represented as, in the game herein, a gathering ofcharacters corresponding one by one to the user terminals included inthe user group. For example, the user group may be represented in thegame as a “vehicle on which characters grouped as a party ride”. Thecharacters may be represented as “crews of the vehicle”. In thisembodiment, the user group is visualized either as a ship or as a boatin the game and each character is represented as a crew of a ship or anowner of a boat.

After a user has logged in, his or her character is considered “active”in the game, that is, the crew played by the user is waking and can actfreely. When the user exits the game while the character is included ina party (i.e., the corresponding user terminal is in a user group), thecharacter played by this user is considered to be “rest” in the game. Inthis embodiment, the character is kept sleeping in a bed in the ship onwhich the character rides. As apparent from the above, even after theuser has logged out, his or her user terminal is still in the user groupwhere it is at the time of logout. This is quite in contrast toconventional online games of this type. Thus, even when a user exits thegame, the representative terminal of the associated user group does notremove information relating to the user terminal of the logged-out user(e.g., ID of this user terminal) from the user group data.

Any characters in the game that correspond to user terminals in theoffline state are simply considered to be asleep. Users of the userterminals in the online state play out the game regardless of whetherone or more user terminals have logged out. When a user terminal in theoffline state has logged in again, the character associated with thisuser terminal awakes and acts freely. Conventional online games do notallow any character to return to the group (party) that it had belongedto once the user who plays this character has logged out. Instead, thecharacter should either move independently or form a new party.Continuity of the game cannot be maintained accordingly. In addition, inorder to form a new party with those who will cooperate with thecomeback character in conventional online games, the character istypically required to recruit or gather around other characters to forma party in, for example, a virtual lobby in the game. After formation ofa party, the main feature of the game follows. Thus, online games ofthis type suffer problems that “no user can move to the main feature ofthe game before making up the necessary number of the members for theparty and a gaming process is interrupted by this time-consuming processof collecting the members.” On the contrary, this embodiment allows eachcharacter (each user terminal) to return to the original party (originaluser group) which it had belong to before the last logout. Therefore,continuity of the game can be maintained. This also solves the problemof time waste for collecting party members.

When a user plays a certain game for the first time, his or hercharacter may join in an existing party. Alternatively, the charactermay recruit or gather around other character or characters with whom heor she forms a party. When a party is formed, recruiting or gatheringaround of other character or characters may be done in a virtual lobbywhich is provided besides the main feature of the game, as inconventional cases.

However, in this embodiment, a user is allowed to run directly to themain feature of the game by means of dealing his or her user terminal asa “new user group having only one user terminal”, rather than making hisor her character to recruit members in a virtual lobby which is providedbesides the main feature in typical conventional MMO games. Thisoperation is described below in the section entitled “User Access andLogin”. In this embodiment, a “get-together place” is provided in themain feature of the game for a lone character who wants to join inanother party or a character who wants to supplement a member to his orher party. This facilitates each character to join in another party orto plug his or her party.

<Withdrawal from User Group and Transfer of Representative Right>

Next, an operation is described that is to be performed when a userterminal leaves from the user group mentioned above.

A user terminal may leave from the user group either (1) when the userwho operates the user terminal voluntarily leaves from the current usergroup or (2) when the user terminal is involuntarily (compulsorily)withdrawn from the user group. The former case applies when the userwants to withdraw his or her user terminal from the current user groupto allow his or her character to act independently, or when the userwants to move his or her character from one party to another party.

As described above, the user group in this embodiment is represented asa ship which the characters ride on. Thus, the main control unit 111 ofthe game server 1 determines the coordinates of the in-game shipcorresponding to the user group and the coordinates of the in-gamecharacter corresponding to the user terminal. The main control unit 111compares these two sets of coordinates with each other. When thedifference between the two sets of coordinates exceeds a predeterminedvalue, this indicates that the distance between the ship and thecharacter exceeds a predetermined value. In such a case, the maincontrol unit 111 disembarks or removes the subject character from theship which the character has ridden on. The above-mentioneddetermination and comparison of the coordinates as well as withdrawal ofthe character may be performed by the main control unit 311 in therepresentative terminal.

In this embodiment, each character is provided with a boat and thecharacter who is going to leave from the ship uses his or her own boat,regardless of whether the withdrawal is voluntarily or compulsorily. Anycharacter who is on his or her boat indicates that the user terminalcorresponding to the character has withdrawn from the user group. Afterthat, the character may either act alone or join in another party. Thismeans that the user terminal after withdrawal may either be keptindependent or moved to another user group.

Exact operations to withdraw a user terminal from the user group whichit belongs to depend on whether the leaving user terminal is serving asthe representative terminal or not. Unlike other user terminals, therepresentative terminal has a role to exchange data with the game server1 on behalf of the user group which it belongs to. Different withdrawalprocedures are thus necessary for a representative terminal and for anon-representative terminal.

When the user terminal leaving from the user group is not therepresentative terminal (here, the user terminal UT6 is assumed to bethe leaving terminal), a request for withdrawal is supplied from theuser terminal UT6 to the representative terminal. The representativeterminal deletes the terminal data of the user terminal UT6 from thegroup-shared data. Other user terminals (i.e., the user terminals exceptfor the leaving user terminal UT6 and the representative terminal UT1)periodically access to the representative terminal to obtain the usergroup data (including the group-shared data). Other user terminals “findout” that the information about the user terminal UT6 is deleted fromthe group-shared data, at the time when they receive the user group data(including the group-shared data) without the information about the userterminal UT6. Then, the peer-to-peer connection between the userterminal UT6 and the remaining five user terminals is terminated.

On the other hand, when the representative terminal is going to withdrawfrom the current user group, it is necessary to transfer therepresentative right first to one of other user terminals within thesame user group, provided that the user group includes one or more userterminals in the online state. The user terminal which takes therepresentative right will serve as a new representative terminal. Whenall user terminals other than the leaving user terminal in the same usergroup are in the offline state, the representative right is virtually“deposited” to the game server rather than being transferred to otheruser terminal.

Transfer of the representative right also occurs when the user of therepresentative terminal may be going to log out to exit the game. Logoutitself does not result in withdrawal of the user terminal from the usergroup but the fact remains that the user terminal will becomeunavailable as the representative terminal. Therefore, therepresentative right of the representative terminal is transferred toone of other user terminals within the same user group, again providedthat the user group includes one or more user terminals in the onlinestate. When the representative terminal that is going to log out is theonly member of the user group, the representative right is virtually“deposited” to the game server rather than being transferred to otheruser terminal.

FIG. 5 is a flow chart that is performed when the representativeterminal is going to either log out or withdraw from the user groupwhich it belongs to. The representative terminal may (1) becomeindependent, (2) move into a separate user group by withdrawing the usergroup which it belongs to, or (3) be logged out in mid-flow of the game.In such a case, the representative right of the representative terminalmay be transferred to another user terminal or may be “deposited” to thegame server. To this end, the representative right management unit 313of the representative terminal UT1 determines whether one or more userterminals in the same user group are in the online state (S101). When noother user terminal in the user group is in the online state or when therepresentative terminal is the only member of the user group (S101: N),the representative right management unit 313 transmits the user groupdata to the game server 1 (S103). Logout or withdrawal from the usergroup may be done at the time of completion of this transmission.However, in this embodiment, it is determined whether a confirmation isreturned from the game server 1 to indicate that the user group datahave been recorded on the data recording unit 13 in the game server 1.When no confirmation is returned (S105: N), the step S103 is againperformed to transmit the user group data. When confirmed (S105: Y),logout or withdrawal from the user group is done (S107).

When one or more other user terminals are in the online state (S101: Y),the representative terminal UT1 first removes information about thelocal user terminal from the group-shared data in the user group data.The user terminal UT1 chooses a candidate of a new representativeterminal from the user terminals in the online state, and then sends arequest for transfer to the candidate user terminal (S109) to which theuser terminal UT1 wants to transfer its representative right. After thecandidate user terminal accepts the request for transfer, the user groupdata recorded on the data recording unit 32 of the currentrepresentative terminal is sent to the candidate user terminal whichaccepts the request (S111). Withdrawal of the representative terminalfrom the user group or logout of it may be done at the time ofcompletion of this transmission. However, in this embodiment, it isdetermined whether a confirmation is returned from the candidaterepresentative terminal to indicate that the user group data have beenrecorded on the data recording unit 32 of the candidate representativeterminal. When no confirmation is returned (S113: N), the step S111 isagain processed to transmit the user group data. When confirmed (S113:Y), logout or withdrawal from the user group is done (S107). Thecandidate user terminal adds, as described above, the local terminalname to the group-shared data (not shown in FIG. 5) to complete thetransfer of the representative right. After the addition of the name ofthe candidate user terminal to the group-shared data, this user terminalstarts to work as the representative terminal.

For the purpose of determining a candidate representative terminal inthe above mentioned step S109, order of priority in dealing with theuser terminals is previously established. For example, the current userterminal determines which user terminal takes the position of the newrepresentative terminal according to a predetermined rule. Such a rulemay be, for example, “the user terminal of which total play period isshortest is assigned as the representative terminal”, “the user terminalwhich suffered from disconnection failure in a shortest period of timeis assigned as the representative terminal”, or “the user terminal thatjoined the user group most recently is assigned as the representativeterminal”. In this embodiment, the user terminal of which total playperiod is shortest is chosen as a candidate representative terminal.

As described above, the representative terminal is selected from theuser terminals in the online state in the user group. When only one userterminal other than the representative terminal UT1 is in the onlinestate, that user terminal is automatically selected as the candidaterepresentative terminal. When all user terminals other than therepresentative terminal UT1 are in the offline state, the user groupdata recorded on the representative terminal are sent to the game server1 and are recorded on the data recording unit 13 in the game server 1.

In case of abnormal disconnection (e.g., accidental line disconnection),the representative terminal transmits the user group data to the gameserver 1 at a predetermined timing such as occurrence of a certainevent. In addition, the representative terminal periodically transmitsthe user group data to the game server 1 in order to avoid a situationwhere the user group data sent to the game server 1 are not updated fora long period of time. The game server 1 records the user group data onthe data recording unit 13 thereof. Thus, even if abnormal disconnectionoccurs due to, for example, an accident in the representative terminal,the user group data recorded on the game server 1 are read to select arepresentative terminal again for keeping the continuity of the game. Asignal indicating that something abnormal has occurred may betransmitted to the game server 1 when a user terminal cannot access tothe representative terminal.

The game server 1 records the user group data in response totransmittance of the user group data from the representative terminal inthe above-mentioned step S103. In this embodiment, the user group datainclude information about the number of user terminal(s) in the onlinestate. With this, the game server 1 can determine whether a user groupincludes a user terminal in the online state. In addition, game server 1provides some events that affect a user group some of which userterminals are in the online state, a user group having no user terminalin the online state, a user character belonging to that user group, aswell as a user group (in-game ship) all of which user terminals are inthe online state. For example, when a storm occurs as a result of anevent in the game, the durability of the in-game ship corresponding tothe user group may decrease for the user group all or some of which userterminals are in the offline. All or a part of fixings of the ship maybe lost for this user group. Characters in this user group may loose hisor her stamina, or accessories thereof may be lost. In such a case, theuser group data for this user group is updated. More specifically, datarelating to the items affected by this event are rewritten. Such itemsinclude, for example, the durability and fixings of the ship, andstamina and accessories of the characters. Thus, the effect of thisevent can be reflected to the game.

Stamina and accessories do not change for the characters and the partyof the characters that are not in the online state in conventionalmassive multi-player online games. In other words, the status at thetime of last logout is maintained for each character in the game.However, in this embodiment, the status may be varied for characterscorresponding to the user terminals that are in the offline state aswell as those in the online state. Furthermore, even when all userterminals in the user group are in the offline state, the status of thecharacters played by the users of the associated user terminals may bevaried. Therefore, the present invention can provide thrills in the gameas compared with the above-mentioned conventional massive multi-playeronline games. When one character has logged out, other character orcharacters whose user terminal is in the online state can steer thein-game ship to move to somewhere else, or can wage a fight. This meansthat the game may be played out by “waking” characters even when one ormore characters are “sleeping”. A user who can take time to log in thegame only for a short period of time may ask for other users to play outthe game in place of him or her. In other words, even a user who cannottake enough time for a game may achieve an event that requires along-time involvement in the game for completion.

<User Access and Login>

FIG. 6 is a flow chart of an operation which is performed in this systemwhen a user terminal has accessed the game server 1 to log in a game.This incoming user terminal accesses the game server 1 through thenetwork N (S201). “Incoming,” when used in reference to a user terminal,means that a user of this user terminal plays, for the first time, thegame provided by the game server 1 or that he or she has logged in thegame again after a certain interruption. The login/logout managementunit 113 of the game server 1 accesses the data recording unit 13 andsearches information about the user group which the incoming userterminal belongs to (S203). Thus, the login/logout management unit 113determines whether the incoming user terminal is a “new” user terminalor it is a “returned” user terminal after a certain interruption.

This operation may be done by any one of known techniques. In thisexample, ID which is assigned to the incoming user terminal is checkedout against the ID included in the user group data stored on the datarecording unit 13. When it is found that the incoming user terminal is areturned user terminal that belongs to a certain user group (S203: Y),it is determined whether the user group specified by the user group dataincludes a user terminal that is working as the representative terminalat that time (S205). When no terminal is working as the representativeterminal (i.e., when all user terminals in the user group are in theoffline state) (S205: N), the incoming user terminal gains access to thegame server 1 as the representative terminal (S207). When a userterminal is working as the representative terminal (S205: Y), theincoming user terminal is allowed to access to the representativeterminal, peer-to-peer (S209).

When the step S203 indicates that the incoming user terminal does notbelong to a user group, it is determined whether the user of theincoming user terminal designates a user group which he/she wantshis/her user terminal to be joined in (S211). When the user group isdesignated (S211: Y), information indicating that the incoming userterminal is issuing a request for admission is sent to therepresentative terminal of the designated user group. Next, it isdetermined whether the representative terminal of the designated usergroup permits the admission of the incoming user terminal (S213). If theadmission is permitted (S213: Y), the above-mentioned step S209 proceedsto allow the incoming user terminal to access to the representativeterminal, peer-to-peer. Otherwise (when all user terminals in thedesignated user group are in the offline state and thus no user terminalis working as the representative terminal or when the representativeterminal of the designated user group denied access from the incominguser terminal) (S213: N), the incoming user terminal is not allowed tojoin in the designated user group. Instead, the incoming user terminalgains access to the game server 1 (S215). In this case, the incominguser terminal is considered as a “new user group having only one userterminal belonging thereto”. Accordingly, the in-game charactercorresponding to this user terminal participates in the main feature ofthe game as an independent character without formation of any party. Onthe other hand, when it is determined in the step S211 that no usergroup is designated (S211: N), this indicates that the incoming userterminal has no user group to join in. In such a case, the incoming userterminal gains access to the game server 1 as the representativeterminal of a new user group (S215).

Next, description is made about how to return a user terminal in theabove-mentioned step S209 to the original user group when a userterminal thereof is working as the representative terminal.

The incoming user terminal sends its terminal data to the representativeterminal of the user group to which it will return. The representativeterminal receives the terminal data and adds them to the user group datato update the user group data. The representative terminal sends theuser group data to the incoming user terminal. The incoming userterminal obtains information necessary for future communication withother user terminal(s) in the user group, from the updated user groupdata supplied from the representative terminal. The incoming userterminal is then ready to communicate with other user terminal orterminals in the user group. After other user terminal or terminalsobtain the updated user group data and recognize that the incoming userterminal has joined in the user group, the incoming user terminalobtains terminal data from the user terminal(s).

The operation described in the paragraph just above is again describedfrom the perspective of other user terminal or terminals. Other userterminal or terminals in the user group intermittently obtain the usergroup data including the group-shared data from the representativeterminal. When other user terminal or terminals obtain the updatedgroup-shared data, it/they find(s) out that the incoming user terminalhas joined in the user group. Then, other user terminal or terminalscommunicate with the incoming user terminal, peer-to-peer. In this way,the user terminal is added to the user group.

Next, an operation is described for a case where a non-representativeuser terminal in a certain user group has logged out and later attemptsto directly access the representative terminal of the user group whichit had belonged to. In this example, the user terminal records anaddress (IP address in this example) of the representative terminal ofthe user group which the local user terminal belongs to, on the datarecording unit 32 of the local user terminal before the local userterminal has logs out. FIG. 7 is a flow chart of an operation forallowing the logged-out user terminal to return to the original usergroup.

First, a re-logging-in user terminal reads the address of therepresentative terminal from the data recording unit 32 of the localuser terminal. The re-logging-in user terminal then attempts to accessthe address (S221). When this attempt succeeds and the re-logging-inuser terminal gains access to the representative terminal (S223: Y), thestep S225 follows. In the step S225, it is determined whether the ID ofa re-logging-in user terminal matches one of the user terminal IDsincluded in the user group data on the representative terminal which there-logging-in user terminal has accessed. This determination is made onthe representative terminal by obtaining the ID of the re-logging-inuser terminal. Of course, the re-logging-in user terminal may read theID of the user terminal included in the user group data of therepresentative terminal and perform the above-mentioned determination.When the IDs match (S225: Y), the re-logging-in user terminal is allowedto return to the original user group (S227). Therefore, the in-gamecharacter corresponding to the re-logging-in user terminal is keptsleeping on a bed in the ship before this user terminal returns to theuser group. The character wakes at the time when the user terminalreturns to the user group in the above-mentioned step S227.

Negative (N) results in both steps S223 and S225 indicate that there-logging-in user terminal failed to access the representativeterminal. Accordingly, the step S201 in FIG. 6 follows to allow there-logging-in user terminal to access the game server.

The representative terminal may have changed by the above-mentionedtransfer of the representative right after a user terminal had loggedout. In such a case, the user terminal that had logged out before theshifting of the representative terminal accesses directly to the formerrepresentative terminal. However, the accessed user terminal is nolonger the representative terminal, so an attempt to re-log in thatterminal should be failed. One solution to this problem is to recordaddresses of individual user terminals in the user group before havingbeen logged out. This record makes it possible to re-log in a properuser terminal. For example, when an attempt to access the formerrepresentative terminal is failed, the re-logging-in user terminal canaccess to an address of another user terminal in the same user group. Ifthe next user terminal is in the online state, the re-logging-in userterminal can obtain the address of the current representative terminalfrom the next user terminal. The re-logging-in user terminal can accessto the representative terminal using the obtained address.Alternatively, the representative terminal which replaces the formerrepresentative terminal may take over the address of the formerrepresentative terminal. This makes it possible for a user terminal thathas logged out before the transfer of the representative right to re-login.

<Data Exchange Between/Among User Groups>

The representative terminal that represents a user group typicallybridges the game server 1 and the user terminals in the user group whichthe representative terminal belongs to. In this embodiment, two usergroups A and B are communicated with each other for data exchange amonguser terminals in the both groups.

FIGS. 8A and 8B shows schematic diagrams illustrating a relationshipbetween representative terminals and user groups when two user groupsare in communication with each other. FIG. 8A corresponds to a casewhere a user group A and a user group B independently have access to thegame server 1. In order to establish communication between these twogroups, either one of the representative terminals gains access to thegame server 1. In the example shown in FIG. 8B, the representativeterminal UT1B of the user group B goes away from the game server 1 andthen starts communication with the representative terminal UT1A of theuser group A on behalf of the user group B.

In this case, as shown in FIG. 8B, the representative terminal UT1A ofthe user group A has access to the game server 1. Other user terminalsin the user group A can access directly to the representative terminalUT1A, peer-to-peer. Furthermore, the representative terminal UT1A of theuser group A communicates with the representative terminal UT1B of theuser group B. The representative terminal UT1B of the user group Bcommunicates with the representative terminal UT1A of the user group A.Other user terminals in the user group B can access directly to therepresentative terminal UT1B, peer-to-peer.

This configuration allows data exchange between the user groups A and B.Only the representative terminal UT1A of the user group A has access tothe game server 1. The representative terminal UT1B of the user group Bdoes not directly access to the game server 1. Instead, therepresentative terminal UT1B of the user group B exchanges necessarydata with the game server 1 through the representative terminal UT1A ofthe user group A. Before the establishment of communication between theuser groups A and B, the game server 1 is required to send distributedgame data to both representative terminals of the user groups A and B.After the communication has established, the representative terminalUT1A of the user group A is the only user terminal to which the gameserver 1 is required to send the distributed game data. Loads on thegame server 1 can be reduced accordingly. This situation may beconsidered as a new user group C including the user groups A and B beingconnected to the game server 1, as shown in FIG. 8B. However, inpractice, the representative terminal UT1A of the user group A does notpass the distributed game data supplied from the game server 1 to alluser terminals (in the user group C). The representative terminal UT1Asends the distributed game data to other user terminals in the usergroup A and the representative terminal UT1B of the user group B.Accordingly, the user terminals in the user group B other than therepresentative terminal receive the distributed game data from therepresentative terminal UT1B of the user group B.

As described above, if individual user terminal have access to the gameserver 1, each terminal should receive data independently andseparately, even for data that are equally necessary for all userterminals. In contrast, the present embodiment makes the representativeterminal receive all such common data. This reduces the amount of datathat the game server should send to. A new function or data may be addedby utilizing the subtraction difference in data transfer amount from theserver.

This embodiment utilizes the subtraction difference in data transferamount to make correspondence between a user group and an in-game shipor boat. When a character corresponding to a user terminal acts alone inthe game, this character is visualized as being riding on a boat. Whentwo or more characters form a party, the characters are visualized asbeing riding on a ship of a size suitable for the size of the party(i.e., the number of characters on board).

The data to produce a “ship which two or more characters are riding on”are unnecessary for conventional online games with no user group. Thisamount of data increases the load on the game server. However, the gameserver according to the present embodiment transfers much smaller amountof data, as described above. This subtraction amount is utilized to sendthe data associated with the “ship which two or more characters areriding on” to a user group or groups.

In order to form a party in a game, either one of characters may firstobtain a ship which affords two or more characters and then thecharacters who will form a party in the game will board the ship.Alternatively, a character may board a ship of an existing party whichdoes not reach the full capacity of the ship. For example, ships whichcan hold different number of people (e.g., four people, sixteen people,and sixty-four people) may be provided in a game. The limit on thenumber of user terminals in a single user group may be the same numberas the complement of a corresponding in-game ship. The number of userterminals in a user group may be increased within the range of thecomplement of the ship obtained by one of characters.

The above-mentioned embodiment uses peer-to-peer communication betweenuser terminals to transmit the distributed game data received from thegame server 1 and the user group data which are used for identifyinggrouped terminals, in order to reduce the loads on the game server.

However, each user terminal may independently receive the distributedgame data from the game server 1, without any data exchange between userterminals, and communications between user terminals may be made throughthe game server 1 (for example, data exchange between the user terminalUT1 and the user terminal UT2 is performed by transmitting data from theuser terminal UT1 to the game server 1 with the designation of the userterminal UT2, and the game server 1 transmits the same data to the userterminal UT2). The terminal which generates user group data may beassigned as the representative terminal. The user group data may betransmitted from the representative terminal to each of other userterminals in the user group through the game server 1. A game may beplayed out in this way.

In such a case, data exchange between user terminals in a peer-to-peerfashion may be replaced by in-terminal communication through the gameserver 1. Even with in-terminal communication, the above-mentionedformation of a user group, withdrawal from a user group, access andlogin of a user, and data exchange between/among users may be achievedby means of transferring the user group data between the user terminalsthrough the game server 1.

It is possible to (1) group user terminals rapidly and smoothly indeference to users' intent, (2) reduce the frequency of groupings ofuser terminals, and (3) allow a logged-out user terminal to return to auser group which it has belonged to, even without peer-to-peerconnections. Continuity of the game can thus be maintained.

In the above-mentioned embodiments, the user terminal may be any one ofsuitable computers or entertainment devices (e.g., PlayStation 2manufactured by Sony Computer Entertainment Inc.). More specifically, acomputer or an entertainment device can be used as a user terminal whenit is combined with a program that provides necessary functions.Examples of such functions include, but not limited to, a communicationcontrol function required for a user terminal to receive data from agame server, a function to generate user group data, and a function tosend the data received from the game server and the user group data toother network game terminals in the same user group. The program in thiscase may be recorded on a recording medium (such as a CD or a DVD) andbe loaded into the subject computer or entertainment device.Alternatively, a purpose-built device or machine which is specificallydesigned to provide the above-mentioned functions including thecommunication control function may be used as the user terminal.

Moreover, display-equipped radio communication systems on which programscan be executed, such as cellular phones on which java programs can beexecuted may be used as a user terminal. The term “computer” as usedherein includes radio communication systems of the type described. Inone embodiment, a program to be used to provide a communication functionand a function to generate user group data is recorded on a game serveror a predetermined server other than the game server, in a formatdownloadable by the radio communication systems. This allows a radiocommunication system to download a necessary program by accessing thegame server or the predetermined server. The radio communication systemcan thus serve as the user terminal.

1. A network game terminal which is accessible to a game server througha predetermined network, comprising: first communication control meanswhich is adapted to receive data from the game server over thepredetermined network; means for generating user group data which isadapted to group the local network game terminal and one or more othernetwork game terminal(s) as a user group in order to play out a networkgame in cooperation between the local network game terminal and othernetwork game terminal(s) using data received from the game serverthrough said first communication control means, means for generatinguser group data being also adapted to generate user group data, the usergroup data including group information with which the game server canrecognize the grouped network game terminals as one user group, andrepresentative terminal information with which other network gameterminal(s) in the user group can recognize the local network gameterminal as a representative terminal; and second communication controlmeans which is adapted to send the data received from the game serverand the user group data to other network game terminal(s) in the usergroup.
 2. The network game terminal as claimed in claim 1, wherein oneof the network game terminals in the user group serves as therepresentative terminal and receive data from the game server; thenetwork game terminal further comprising first recording means on whichthe user group data are recorded.
 3. The network game terminal asclaimed in claim 2, wherein the user group data include informationrepresenting a status of the user group in a network game.
 4. Thenetwork game terminal as claimed in claim 2, further comprising secondrecording means on which data received from the game server through saidfirst communication control means are recorded, the received dataincluding data that are shared by all network game terminals includingthe local network game terminal in the user group.
 5. The network gameterminal as claimed in claim 4, wherein the data that are shared by allnetwork game terminals in the user group include graphic data to be usedin the network game.
 6. The network game terminal as claimed in claim 1,wherein said second communication control means is for allowing thelocal network game terminal to communicate bi-directionally with any oneof other network game terminals in the user group, in a peer-to-peerfashion.
 7. The network game terminal as claimed in claim 4, furthercomprising means for sending the data that were received through saidfirst communication control means and recorded on said second recordingmeans, to a new representative terminal when the local network gameterminal is serving as the representative terminal, and either when thelocal network game terminal attempts to log out the game server or whenthe local network game terminal attempts to withdraw from the usergroup, the new representative terminal being selected from the networkgame terminals that are in communication with the local network gameterminal in the user group which the local network game terminal belongsto.
 8. The network game terminal as claimed in claim 2, wherein saidfirst communication control means is for allowing the local network gameterminal to communicate bi-directionally with the game server and saidsecond communication control means is for allowing the local networkgame terminal to communicate bi-directionally with any one of othernetwork game terminals in the user group, the network game terminalfurther comprising: terminal data recording means which is adapted torecord, on said first recording means, terminal data of the localnetwork game terminal as well as terminal data of the individual networkgame terminal(s) that are received from other network game terminal(s)in the user group, the terminal data being data indicating a statusrelating to a network game terminal; means for determining whether theuser group which the local network game terminal belongs to includes oneor more network game terminals in communication with the local networkgame terminal; and means for sending the group information recorded onsaid first recording means and the terminal data for each network gameterminal, to the game server, if said determination means determinesthat no network game terminal is in communication with the local networkgame terminal when the local network game terminal is serving as therepresentative terminal, and either when the local network game terminalattempts to log out the game server or when the local network gameterminal attempts to withdraw from the user group.
 9. The network gameterminal as claimed in claim 2, further comprising: terminal datarecording means which is adapted to record a set of terminal data onsaid first recording means, the terminal data indicating a status ofeach network game terminal, the set of terminal data including theterminal data of the local network game terminal and the terminal datareceived from other network game terminal(s) in the user group; andmeans for (i) changing a status of an in-game character in response to apredetermined event that affects the status of the in-game character andupdating all of the set of the terminal data, the in-game characterbeing a character in a game corresponding to a network game terminal inthe user group that is in the logged out state, this changing being madeby said changing means when the local network game terminal is servingas the representative terminal, and (ii) sending the updated terminaldata to the network game terminal in the user group that was in theoffline state and has logging-in again.
 10. A game server to which thenetwork game terminal as claimed in claim 8 has access, the game servercomprising: means for recording the group information and the terminaldata on third recording means, the group information and the terminaldata being supplied from the network game terminal(s), the thirdrecording means being provided on the game server; and means for sendingthe group information and the terminal data that are recorded on thethird recording means to a new representative terminal when therepresentative terminal is abnormally disconnected from the network, thenew representative terminal being selected from available network gameterminals in the user group which the representative terminal hadbelonged to.
 11. A method to be performed on a network game terminalwhich is accessible to a game server through a predetermined network,the network game terminal being adapted to receive data from the gameserver, the method comprising, by a control unit provided in the networkgame terminal, the step of grouping a local network game terminal andone or more other network game terminal(s) as a user group in order toplay out a network game in cooperation between the local network gameterminal and other network game terminal(s) using data received from thegame server, and generating user group data, the user group dataincluding group information with which the game server can recognize thegrouped network game terminals as one user group, and representativeterminal information with which other network game terminal(s) in theuser group can recognize the local network game terminal as arepresentative terminal; the method also comprising, by the controlunit, the step of sending the data received from the game server and theuser group data to other network game terminal(s) in the user group. 12.A computer-readable recording medium on which a program is recorded thatis used to allow a computer to function as: first communication controlmeans which is adapted to receive data from the game server over thepredetermined network; means for generating user group data which isadapted to group the local network game terminal and one or more othernetwork game terminal(s) as a user group in order to play out a networkgame in cooperation between the local network game terminal and othernetwork game terminal(s) using data received from the game serverthrough said first communication control means, means for generatinguser group data being also adapted to generate user group data, the usergroup data including group information with which the game server canrecognize the grouped network game terminals as one user group, andrepresentative terminal information with which other network gameterminal(s) in the user group can recognize the local network gameterminal as a representative terminal; and second communication controlmeans which is adapted to send the data received from the game serverand the user group data to other network game terminal(s) in the usergroup.
 13. A server accessible from a plurality of network gameterminals through a predetermined network, the server comprising: thecomputer-readable recording medium as claimed in claim 12, in such amanner that said program is allowed to be downloaded by said networkgame terminals.
 14. A game server accessible from a plurality of networkgame terminals through a predetermined network, each of the network gameterminals comprising: first communication control means forbi-directional communication with the game server over the predeterminednetwork; and means which is adapted to group the local network gameterminal and one or more other network game terminal(s) as a user groupin order to play out a network game in cooperation between the localnetwork game terminal and other network game terminal(s) using datareceived from the game server through said first communication controlmeans, said means being also adapted to generate group information withwhich the game server can recognize the grouped network game terminalsas one user group; said game server comprising: first recording means onwhich the group information supplied from the network game terminal(s)are recorded; and means for identifying, in response to a request forlogging-in from a network game terminal which is in the user group andis not in the logged in state, the user group which the requestingnetwork game terminal belongs to, based on the group information and forreading the group information corresponding to the identified user groupfrom said first recording means to send them to the requesting networkgame terminal.
 15. The game server as claimed in claim 14, wherein thenetwork game terminal(s) comprise(s) means for sending terminal data tosaid game server, the terminal data indicating a status associated withthe network game terminal(s), said game server comprising: secondrecording means on which the terminal data supplied from the networkgame terminal(s) are recorded; when a predetermined event occurs thataffects the status associated with the network game terminal(s) in theprogress of the network game reflecting the affect of the event to astatus associated with a network game terminal in an offline stateupdating the terminal data recorded on said second recording means.